Subject: Delayed FSM comments

From: [email-masked] (Paul Brittain)
Date: Fri, 23 Sep 94 10:15:24 BST

***  This posting has also faled to make it through the mail list problems so
***  far, so I'll give it another try via MIT.
***
***  Paul.

Steve,

Here are some comments on your comments/changes to the main FSM.  Look
for the lines marked **PJB>.

Paul Brittain

       -------------------------------------------------------------

7.2.1. DISCONNECTED State

      +----------------------+---------------------+----------------------+
      |        Event         |      Action(s)      |      Next State      |
      +----------------------+---------------------+----------------------+
      | Receive CANUREACH_cs | DLC_START_DL        | RESOLVE_PENDING      |
      +----------------------+---------------------+----------------------+
      | Receive ICANREACH_cs | Send REACH_ACK,     | CIRCUIT_ESTABLISHED  |
      |                      | DLC_RESOLVE_R       |                      |
SCK> Let's drop the CANUREACH_cs and ICANREACH_cs stuff. It only seems to
SCK> confuse people.  Support of older implementations of DLSw should be in
SCK> a separate section, if it exists in this document at all.
**PJB> I think you can only drop the ICR_cs line here if we are still to be
**PJB> able to get to the RESOLVE_PENDING state!
      +----------------------+---------------------+----------------------+
      | Receive DATAFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | Receive NETBIOS_NQ_cs| DLC_DGRM            | RESOLVE_PENDING      |
      +----------------------+---------------------+----------------------+
      | Receive NETBIOS_NR_cs| Send REACH_ACK,     | CIRCUIT_ESTABLISHED  |
      |                      | DLC_DGRM            |                      |
SCK> Let's drop the NETBIOS_NQ_cs and NETBIOS_NR_cs stuff. It seems to impede
SCK> the understanding of the new way of handling NETBIOS. It was here for
SCK> migration purposes only.
**PJB> Agreed.
      +----------------------+---------------------+----------------------+
      | DLC_RESOLVE_C        | Send CANUREACH_ex   |                      |
SCK> The proper place for this is just in the Explorer FSM, if we keep it
SCK> separate from this FSM.
**PJB> Agreed.
      +----------------------+---------------------+----------------------+
      | DLC_XID              | If source route     | If CANUREACH_cs was  |
      |                      | bridged frame with  | sent:                |
      |                      | broadcast indicated:|   CIRCUIT_START      |
      |                      |   Send CANUREACH_ex |                      |
      |                      | else:               |                      |
      |                      |   Send CANUREACH_cs |                      |
      |                      |   START_CS_TIMER    |                      |
      +----------------------+---------------------+----------------------+
      | DLC_DGRM             | If NETBIOS          |                      |
      |                      | NAME_QUERY:         |                      |
      |                      |  Send NETBIOS_NQ_ex |                      |
      |                      | else:               |                      |
      |                      |  Send DATAFRAME     |                      |
      +----------------------+---------------------+----------------------+
      | DLC_CONTACTED        | Send CANUREACH_cs   | CIRCUIT_START        |
      +----------------------+---------------------+----------------------+

SCK> Will wait on the wording until we decide whether to merge the Explorer
SCK> FSM with this FSM.

**PJB> How about the following:
**PJB>
**PJB>   Explorer frames are handled by the separate eexplorer FSMs described
**PJB>   in section 7.4.  The actions to issue CANUREACH_ex or NETBIOS_NQ_ex
**PJB>   in the table above effectively form the entry points to the explorer
**PJB>   FSMs for SNA and NetBIOS traffic respectively.

7.2.2. RESOLVE_PENDING State

The RESOLVE_PENDING state is entered upon receipt of a CANUREACH message or a
NETBIOS_NQ message by the target DLSw.  In the former case, a data link is
started, causing a Test command to be sent by the DLC.  In the later case, a
NB_Name_Query frame is sent.  This frame is directed to a group MAC address.
SCK> This paragraph should read:
SCK>   The RESOLVE_PENDING state is entered upon receipt of a CANUREACH_cs
SCK>   message by the target DLSw.  A data link is started, causing a Test
SCK>   command to be sent by the DLC.

**PJB> Fine.

Any CANUREACH messages received in the RESOLVE_PENDING state will be responded
to if a DLC_DL_STARTED signal is received.  The Data Link Switch may also update
its topology information based upon the origin MAC address information in each
CANUREACH message.
SCK> Change CANUREACH to CANUREACH_cs in two places.

**PJB> Fine.

Upon the receipt of a DLC_DL_STARTED signal in the RESOLVE_PENDING state, the
Data Link Switch may update its topology table base upon the remote MAC address
information.  The ICANREACH message should be returned to all Data Link Switches
that had sent a CANUREACH message.  In a similar fashion, the Data Link Switch
may update its topology table upon the receipt of a NB_Name_Recognized frame and
a NETBIOS_NR message will be returned to all Data Link Switches that have sent a
NETBIOS_NQ message.
SCK> This paragraph should read:
SCK>   Upon the receipt of a DLC_DL_STARTED signal in the RESOLVE_PENDING state,
SCK>   the Data Link Switch may update its topology table based upon the remote
SCK>   MAC address information.  The ICANREACH_cs message should be returned to
SCK>   all Data Link Switches that had sent a CANUREACH_cs message.

**PJB> As posted previously, we should not be mandating that a DLSw must keep
**PJB> a list of all partners that have sent the same CUR.  The wording I
**PJB> suggested before should replace the last sentence:
**PJB>
**PJB>   The ICANREACH message must be returned to the first partner DLSw from
**PJB>   which a CANUREACH was received for this circuit, or an implementation
**PJB>   may optionally reply to all partners from which the CANUREACH was
**PJB>   received.

The RESOLVE_PENDING state is exited once the data link has been started (i.e., a
DLC_DL_STARTED signal is received as a result of a Test response received by the
DLC) or a NB_Name_Recognized frame is received (i.e., a DLC_DGRM signal is
received).  The target Data Link Switch will then enter the CIRCUIT_PENDING
state.
SCK> This paragraph should read:
SCK>   The RESOLVE_PENDING state is exited once the data link has been started
SCK>   (i.e., a DLC_DL_STARTED signal is received as a result of a Test response
SCK>   received by the DLC).The target Data Link Switch will then enter the
SCK>   CIRCUIT_PENDING state.

**PJB> Fine.

  Note:  Some implementations will also send a Test command in order to start
  the data link to the station that responded to the Name Query frame (i.e., a
  DLC_START_DL will be issued).
SCK> Remove this note.

**PJB> Agreed.

7.2.3. CIRCUIT_START State

      +----------------------+---------------------+-------------------------+
      |        Event         |      Action(s)      |      Next State         |
      +----------------------+---------------------+-------------------------+
      | Receive CANUREACH_cs | If origin MAC addr  | If DLC_START_DL         |
      | for circuit in       | in CANUREACH_cs is  | issued:                 |
      | opposite direction   | greater than origin |   RESOLVE_PENDING       |
      |                      | MAC addr of circuit:|                         |
      |                      |   DLC_START_DL      |                         |
      |                      | else:               |                         |
      |                      |   no action taken   |                         |
      +----------------------+---------------------+-------------------------+
      | Receive ICANREACH_cs | If LF Size Control  | If LF Size Control      |
      |                      | bit set and LF Size | bit set and LF Size     |
      |                      | is not negotiable:  | is not negotiable:      |
      |                      |   Send HALT_DL_NOACK|   DISCONNECTED          |
      |                      | else:               | else:                   |
      |                      |   Send REACH_ACK,   |   If Connected:         |
SCK>  |                      |   Send appropriate  |     CONNECT_PENDING     |
SCK>  |                      |   SSP message based |   else:                 |
SCK>  |                      |   on the event      |     CIRCUIT_ESTABLISHED |
SCK>  |                      |   that generated    |                         |
SCK>  |                      |   CANUREACH_cs      |                         |
SCK>  |                      |   (See Note)        |                         |
      +----------------------+---------------------+-------------------------+
      | DLC_DGRM             | Send DATAFRAME      |                         |
      +----------------------+---------------------+-------------------------+
      | CS_TIMER_EXP         |                     | DISCONNECTED            |
      +----------------------+---------------------+-------------------------+
SCK>  | XPORT_FAILURE        |                     | DISCONNECTED            |
SCK>  +----------------------+---------------------+-------------------------+

SCK> No words exist under this table. Add:
SCK>   The CIRCUIT_START state is entered by the origin Data_Link_Switch
SCK>   whn a DLC_XID or DLC_CONTACTED signal has been received from the
SCK>   DLC.  The origin Data Link Switch will check its topology table prior
SCK>   to sending the CANUREACH_cs message.  If the target MAC address is in
SCK>   the table, the CANUREACH_cs message will be sent to only those Data Link
SCK>   Data Link Switches that are known to be able to reach the given MAC
SCK>   address.  If the MAC address is not in the table, the CANUREACH_cs
SCK>   message will be sent to all known Data Link Switches.
SCK>
SCK>   The CIRCUIT_START state is exited upon receipt of an ICANREACH_cs
SCK>   message.  A REACH_ACK message will be returned to the target Data Link
SCK>   Switch.  If the CIRCUIT_START state was entered due to a DLC_XID
SCK>   signal, an XIDFRAME message containing the XID will be sent to
SCK>   to the target Data Link Switch.  If the CIRCUIT_START state was entered
SCK>   due to a DLC_CONTACTED signal, a CONTACT message will be sent to
SCK>   to the target Data Link Switch.

SCK>     Note:  For example, DLC_XID - send XIDFRAME, DLC_CONTACTED - send CONTA

**PJB> All seems fine.

7.2.4. CIRCUIT_PENDING State

      +----------------------+---------------------+----------------------+
      |        Event         |      Action(s)      |      Next State      |
      +----------------------+---------------------+----------------------+
      | Receive CONTACT      | DLC_CONTACT         | CONTACT_PENDING      |
      +----------------------+---------------------+----------------------+
      | Receive HALT_DL      | DLC_HALT_DL         | HALT_PENDING         |
      +----------------------+---------------------+----------------------+
      | Receive HALT_DL_NOACK| DLC_HALT_DL         | HALT_PENDING_NOACK   |
      +----------------------+---------------------+----------------------+
      | Receive REACH_ACK    | If Connected:       | If Connected:        |
      |                      |  Send CONTACT       |  CONNECT_PENDING,    |
      |                      |                     | else:                |
      |                      |                     |  CIRCUIT_ESTABLISHED |
      +----------------------+---------------------+----------------------+
      | Receive XIDFRAME     | DLC_XID             |                      |
      +----------------------+---------------------+----------------------+
      | Receive DGRMFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | Receive DATAFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | DLC_CONTACTED        | If UA is sent in    |                      |
      |                      | response to SABME:  |                      |
      |                      |   DLC_ENTER_BUSY    |                      |
      |                      | else:               |                      |
      |                      |   no action taken   |                      |
      +----------------------+---------------------+----------------------+
      | DLC_ERROR            | Send HALT_DL        | DISCONNECT_PENDING   |
      +----------------------+---------------------+----------------------+
      | DLC_XID              | Send XIDFRAME       |                      |
      +----------------------+---------------------+----------------------+
      | DLC_DGRM             | Send DGRMFRAME      |                      |
SCK> Seems like this should be DATAFRAME since we don't have a Origin Data Link
SCK> ID yet (I can't remember is this came up on the Connect mailer or not).

**PJB> But, using the same arguement, wouldn't we need to remove the ability
**PJB> to send XID frames until the RA is received as they use the same
**PJB> routing information?
**PJB>
**PJB> The only case where this change is significant is if the partner DLSw
**PJB> exercises its right to vary the Data Link ID on the REACH_ACK.  It
**PJB> would either still need to handle the receipt of XIDFRAMEs with the old
**PJB> ID anyway, so why disallow DGRMFRAME, or both frame types will be lost
**PJB> until the local retry absorption times out and allows a retry to go
**PJB> through to the partner again using the new ID from the RA.
**PJB>
**PJB> It seems best to continue to use DGRMFRAME, but I'm not strongly
**PJB> attached to this if everyone else wants to change it.

      +----------------------+---------------------+----------------------+
      | XPORT_FAILURE        | DLC_HALT_DL         | HALT_PENDING_NOACK   |
      +----------------------+---------------------+----------------------+

   The CIRCUIT_PENDING state is entered by the target Data Link Switch following
   the sending of an ICANREACH message or the sending of a NETBIOS_NR message.
   this state it is awaiting the reception of a REACH_ACK message from the origi
   Data Link Switch.  If a connection does not exist with the target station (i.
   the normal case), the Data Link Switch will enter the CIRCUIT_ESTABLISHED sta
SCK> Change first sentence to:
SCK>   The CIRCUIT_PENDING state is entered by the target Data Link Switch follo
SCK>   the sending of an ICANREACH_cs message.

**PJB> Fine.

   If the target Data Link Switch happens to receive a SABME command from the
   target station while in the CIRCUIT_PENDING state (i.e., a DLC_CONTACTED sign
   received from the DLC), the reception of the REACH_ACK message will cause the
   Data Link Switch to enter the CONNECT_PENDING state and to send a CONTACT
   message to the other Data Link Switch.  Thus the target Data Link Switch has
   assumed the role of the origin Data Link Switch.
SCK> This last sentence seems to be misleading.  The role of origin station and
SCK> target station (with respect to Circuit IDs) does not change if the target
SCK> station happens to be the one sending the SABME (which is about half the
SCK> time).  Does anyone have a problem with it being deleted.

**PJB> I can understand why the sentence was there originally, but still agree
**PJB> that it should be deleted as it causes confusion.

7.2.5. CONNECT_PENDING State

      +----------------------+---------------------+----------------------+
      |        Event         |      Action(s)      |      Next State      |
      +----------------------+---------------------+----------------------+
      | Receive CONTACTED    | If UA was sent in   | CONNECTED            |
      |                      | response to SABME:  |                      |
      |                      |   DLC_EXIT_BUSY     |                      |
      |                      | else:               |                      |
      |                      |   DLC_CONTACT       |                      |
      +----------------------+---------------------+----------------------+
      | Receive HALT_DL      | DLC_HALT_DL         | HALT_PENDING         |
      +----------------------+---------------------+----------------------+
      | Receive HALT_DL_NOACK| DLC_HALT_DL         | HALT_PENDING_NOACK   |
      +----------------------+---------------------+----------------------+
      | Receive DGRMFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | Receive DATAFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | Receive ICANREACH    | Send HALT_DL_NOACK  |                      |
SCK> Change ICANREACH to ICANREACH_cs
      +----------------------+---------------------+----------------------+
      | Receive NETBIOS_NR   | Send HALT_DL_NOACK  |                      |
SCK> Delete this entry.
      +----------------------+---------------------+----------------------+
      | DLC_RESET            | Send RESTART_DL     | CIRCUIT_RESTART      |
      +----------------------+---------------------+----------------------+
      | DLC_ERROR            | Send HALT_DL        | DISCONNECT_PENDING   |
      +----------------------+---------------------+----------------------+
      | DLC_DGRM             | Send DGRMFRAME      |                      |
      +----------------------+---------------------+----------------------+
      | XPORT_FAILURE        | DLC_HALT_DL         | HALT_PENDING_NOACK   |
      +----------------------+---------------------+----------------------+

SCK> Need to add the following paragraph to words for this table:
SCK>   An ICANREACH_cs received after the transition to CONNECT_PENDING state
SCK>   indicates that more than one CANUREACH_cs was sent at circuit establishme
SCK>   time and the target station was found by more than one Data Link Switch
SCK>   partner.  A HALT_DL_NOACK is sent to halt the data link started by the
SCK>   Data Link Switch partner that originated this ICANREACH_cs.

**PJB> All fine.

7.2.6. CIRCUIT_ESTABLISHED State

      +----------------------+---------------------+----------------------+
      |        Event         |      Action(s)      |      Next State      |
      +----------------------+---------------------+----------------------+
      | Receive CONTACT      | DLC_CONTACT         | CONTACT_PENDING      |
      +----------------------+---------------------+----------------------+
      | Receive HALT_DL      | DLC_HALT_DL         | HALT_PENDING         |
      +----------------------+---------------------+----------------------+
      | Receive HALT_DL_NOACK| DLC_HALT_DL         | HALT_PENDING_NOACK   |
      +----------------------+---------------------+----------------------+
      | Receive XIDFRAME     | DLC_XID             |                      |
      +----------------------+---------------------+----------------------+
      | Receive DGRMFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | Receive DATAFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | Receive ICANREACH    | Send HALT_DL_NOACK  |                      |
SCK> Change ICANREACH to ICANREACH_cs
      +----------------------+---------------------+----------------------+
      | Receive NETBIOS_NR   | Send HALT_DL_NOACK  |                      |
SCK> Delete this entry.
      +----------------------+---------------------+----------------------+
      | DLC_CONTACTED        | Send CONTACT        | CONNECT_PENDING      |
      |                      | If UA is sent in    |                      |
      |                      | response to SABME:  |                      |
      |                      |   DLC_ENTER_BUSY    |                      |
      |                      | else:               |                      |
      |                      |   no action taken   |                      |
      +----------------------+---------------------+----------------------+
      | DLC_ERROR            | Send HALT_DL        | DISCONNECT_PENDING   |
      +----------------------+---------------------+----------------------+
      | DLC_DGRM             | Send DGRMFRAME      |                      |
      +----------------------+---------------------+----------------------+
      | DLC_XID              | Send XIDFRAME       |                      |
      +----------------------+---------------------+----------------------+
      | XPORT_FAILURE        | DLC_HALT_DL         | HALT_PENDING_NOACK   |
      +----------------------+---------------------+----------------------+

SCK> Need to add the following paragraph to words for this table:
SCK>   An ICANREACH_cs received after the transition to CIRCUIT_ESTABLISHED stat
SCK>   indicates that more than one CANUREACH_cs was sent at circuit establishme
SCK>   time and the target station was found by more than one Data Link Switch
SCK>   partner.  A HALT_DL_NOACK is sent to halt the data link started by the
SCK>   Data Link Switch partner that originated this ICANREACH_cs.

**PJB> All fine.

7.2.8. CONNECTED State

      +----------------------+---------------------+----------------------+
      |        Event         |      Action(s)      |      Next State      |
      +----------------------+---------------------+----------------------+
      | Receive HALT_DL      | DLC_HALT_DL         | HALT_PENDING         |
      +----------------------+---------------------+----------------------+
      | Receive HALT_DL_NOACK| DLC_HALT_DL         | HALT_PENDING_NOACK   |
      +----------------------+---------------------+----------------------+
      | Receive RESTART_DL   | DLC_HALT_DL         | RESTART_PENDING      |
      +----------------------+---------------------+----------------------+
      | Receive DGRMFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | Receive INFOFRAME    | DLC_INFO            |                      |
      +----------------------+---------------------+----------------------+
      | Receive DATAFRAME    | DLC_DGRM            |                      |
      +----------------------+---------------------+----------------------+
      | Receive XIDFRAME     | If non-activation   |                      |
      |                      | XID3:               |                      |
      |                      |   DLC_XID           |                      |
      +----------------------+---------------------+----------------------+
      | Receive ICANREACH    | Send HALT_DL_NOACK  |                      |
SCK> Change ICANREACH to ICANREACH_cs
      +----------------------+---------------------+----------------------+
      | Receive NETBIOS_NR   | Send HALT_DL_NOACK  |                      |
SCK> Delete this entry.
      +----------------------+---------------------+----------------------+
      | Receive ENTER_BUSY   | DLC_ENTER_BUSY      |                      |
      +----------------------+---------------------+----------------------+
      | Receive EXIT_BUSY    | DLC_EXIT_BUSY       |                      |
      +----------------------+---------------------+----------------------+
      | Rec TEST_CIRCUIT_REQ | Snd TEST_CIRCUIT_RSP|                      |
      +----------------------+---------------------+----------------------+
      | DLC_RESET            | Send RESTART_DL     | CIRCUIT_RESTART      |
      +----------------------+---------------------+----------------------+
      | DLC_ERROR            | Send HALT_DL        | DISCONNECT_PENDING   |
      +----------------------+---------------------+----------------------+
      | DLC_DGRM             | Send DGRMFRAME      |                      |
      +----------------------+---------------------+----------------------+
      | DLC_INFO             | Send INFOFRAME      |                      |
      +----------------------+---------------------+----------------------+
      | DLC_XID              | If non-activation   |                      |
      |                      | XID3:               |                      |
      |                      |   Send XIDFRAME     |                      |
      +----------------------+---------------------+----------------------+
      | XPORT_FAILURE        | DLC_HALT_DL         | HALT_PENDING_NOACK   |
      +----------------------+---------------------+----------------------+

SCK> Need to add the following paragraph to words for this table:
SCK>   An ICANREACH_cs received after the transition to CONNECTED state indicate
SCK>   that more than one CANUREACH_cs was sent at circuit establishment time
SCK>   and the target station was found by more than one Data Link Switch partne
SCK>   A HALT_DL_NOACK is sent to halt the data link started by the Data Link
SCK>   Switch partner that originated this ICANREACH_cs.

**PJB> All fine.

7.2.10. DISCONNECT_PENDING State

   The DISCONNECT_PENDING state is entered when a DLC_ERROR signal is received f
   the local DLC.  Upon receipt of this signal, a HALT message is sent.  Once an
SCK> change HALT to HALT_DL
**PJB> Agreed.
   DL_HALTED message is received, the state is exited, and the Data Link Switch
   enters the DISCONNECTED state.

7.2.13. HALT_PENDING_NOACK State

SCK> No words exist under this table. Add:
SCK>   The HALT_PENDING state is entered upon the receipt of a HALT_DL message.
SCK>   causes the local DLC to issue a DISC command.  Upon the receipt of the UA
SCK>   response (DLC_DL_HALTED), the DISCONNECTED state is entered.

**PJB> Agreed.

7.3. NetBIOS Datagrams

   The NetBIOS protocols use a number of UI frames for directory services and th
   transmission of datagrams.  Most of these frames are directed to a group MAC
   address (GA) with the routing information field indicating spanning tree
   explorer (STE).  Two of the frames, NB_Add_Name_Response and NB_Status_Respon
   are directed to a specific MAC address with the routing information field
   indicating a specifically routed frame (SRF).  The handling of these frames i
   summarized in the following table.
SCK> According to the IBM LAN Technical Reference (Chapter 5 - NETBIOS Protocol)
SCK> the third sentence should be replaced by the following two sentences:
SCK>   The NB_Add_Name_Response frame is directed to a specific MAC address with
SCK>   the routing information field indicating an all routes explorer (ARE).
SCK>   The NB_Status_Response frame is directed to a specific MAC address with t
SCK>   routing information field indicating a specifically routed frame (SRF).
                             .
                             .
                      some time later
                             .
                             .
   +---------------+-------------------------+-------------------------+
   |     Event     |        Action(s)        |         Comment         |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_ANQ   | DLC_DGRM:               | Routed STE              |
   |               |    NB_Add_Name_Query    | (NETBIOS Group Address) |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_ANR   | DLC_DGRM:               | Routed STE              |
   |               |    NB_Add_Name_Response | (Specific MAC Address)  |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_NQ_ex | DLC_DGRM:               | Routed STE              |
   |               |    NB_Name_Query        | (NETBIOS Group Address) |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_NQ_cs | DLC_DGRM:               | Routed STE              |
   |               |    NB_Name_Query        | (NETBIOS Group Address) |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_NR_ex | DLC_DGRM:               | Routed SRF              |
   |               |    NB_Name_Recognized   | (Specific MAC Address)  |
SCK> This should say: Routed ARE (per IBM LAN Technical Reference)
**PJB> Whoops - definitely agreed!
   +---------------+-------------------------+-------------------------+
   | NETBIOS_NR_cs | DLC_DGRM:               | Routed SRF              |
   |               |    NB_Name_Recognized   | (Specific MAC Address)  |
SCK> This should say: Routed ARE (per IBM LAN Technical Reference)
**PJB> Ditto.
   +---------------+-------------------------+-------------------------+
   | DATAFRAME     | DLC_DGRM                | Routed STE              |
   |               |                         | (If NB_Status_Response: |
   |               |                         |   Specific MAC Address  |
   |               |                         |  Else:                  |
   |               |                         |   NETBIOS Group Address)|
   +---------------+-------------------------+-------------------------+

                      Table 6.  NetBIOS SSP Messages